package com.baitiaojun.elasticsearch.service;

import com.baitiaojun.api.domain.video.VideoChildComment;
import com.baitiaojun.api.domain.video.VideoComment;
import com.baitiaojun.api.exception.ConditionException;
import com.baitiaojun.api.vo.PageInfo;

import java.io.IOException;
import java.util.List;
import java.util.Set;

/**
 * @类名 VideoCommentService
 * @描述 TODO
 * @作者 白条君
 * @创建日期 2022/12/26 21:27
 * @版本 1.0
 */
public interface VideoCommentService {

    void saveParentVideoComment(VideoComment videoComment) throws ConditionException;

    VideoComment getParentVideoComment(Long id, Long videoId);

    List<VideoComment> getParentVideoCommentList(Integer pageNo, Integer pageSize, Long videoId);

    List<VideoChildComment> getChildVideoCommentList(Set<Long> ids) throws IOException;

    void saveChildVideoComment(VideoChildComment videoChildComment) throws ConditionException;

    PageInfo getPageChildVideoCommentList(Integer pageNo, Integer pageSize, Long videoId, Long rootId);

    void removeVideoChildComment(Long id);

    void removeVideoComment(Long id);

    VideoChildComment getVideoChildComment(Long id);

    List<VideoChildComment> getVideoChildCommentList(Set<Long> ids);

    List<VideoComment> getVideoCommentList(Long userId) throws IOException;
}
